package org.atlantis.mina.demo1;

import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;

/**
 * 负责处理连接上来的客户端的消息。即消息处理器。
 * 
 * @author <a href="mailto:seenoevil.cn@gmail.com">李曦</a>
 * 
 */
public class SimpleMinaServerHandler extends IoHandlerAdapter {

	private int count = 0;

	/** 当客户端发送的消息到达时 */
	@Override
	public void messageReceived(IoSession session, Object message)
			throws Exception {
		// 已经设定了服务器解析消息的规则是一行一行的读取，这里就可以转换为String
		String str = (String) message;
		System.out.println("收到客户端发来的消息：" + str);
		// 将消息回送给客户端
		session.write(str + count);
		count++;
	}

	/** 当一个客户端关闭时 */
	@Override
	public void sessionClosed(IoSession session) throws Exception {
		System.out.println("一个客户端断开连接！");
	}

	/** 当一个客户端连接进来时 */
	@Override
	public void sessionOpened(IoSession session) throws Exception {
		System.out.println("一个客户端连入进来：" + session.getRemoteAddress());
	}
}
